/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package javalee.dao;


import javalee.maps.ItensEstrut;
import javalee.maps.Produto;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;/**
 *
 * @author Danilo
 */
public class ItensEstrutDAO extends DAO{
    private Statement stmt = null;

    @Override
    public boolean cadastrar(Object obj) {
           
        try{
            ItensEstrut p = (ItensEstrut) obj;
            String SQL = "insert into itens_estrut (id_produto, id_prod_composto, qtdade) values ("+p.getProduto().getId()+","+p.getProdutoComposto().getId()+", "+p.getQtdade()+")";
            stmt = conexaoBanco.createStatement();
            stmt.executeUpdate(SQL);
            stmt.close();
            //"insert into cliente (nome) values ('?')"
            return (true);
        } 
           catch (SQLException ex) {
             System.out.println("Problema com o SQL");
            // ex.printStackTrace();
             return (false);
       }
    }

    @Override
    public boolean alterar(Object obj) {
        
       // throw(new Throwable("Não é possível alterar!"));
    
        return (false);
    }

    @Override
    public boolean excluir(Object obj) {
        try{
            ItensEstrut p = (ItensEstrut) obj;
            String SQL = "delete from itens_estrut where id_produto = "+p.getProduto().getId()+" and id_prod_composto = "+p.getProdutoComposto().getId();
            stmt = conexaoBanco.createStatement();
            stmt.executeUpdate(SQL);
            stmt.close();
            //"insert into cliente (nome) values ('?')"
            return (true);
        } 
           catch (SQLException ex) {
             System.out.println("Problema com o SQL");
            // ex.printStackTrace();
             return (false);
       }
    }

    @Override
    public ArrayList consultar(Object obj) {
         ArrayList<ItensEstrut> lista = new ArrayList<ItensEstrut>();
         ProdutoDAO prodDAO= new ProdutoDAO();
         Produto prod = (Produto)obj;
        try {
            stmt = conexaoBanco.createStatement();
            String query = "SELECT id_produto,"
                    + " id_prod_composto,"
                    + " qtdade from itens_estrut where id_produto = "+prod.getId();
            
            ResultSet srs = stmt.executeQuery(query);
            while (srs.next()) {
                ItensEstrut i = new ItensEstrut();
                i.setProduto(prodDAO.consultarPorId(srs.getInt("id_produto")));
                i.setProdutoComposto(prodDAO.consultarPorId(srs.getInt("id_prod_composto")));
                i.setQtdade(srs.getInt("qtdade"));
                lista.add(i);
            }
           
            stmt.close();
        }
        
           catch (SQLException ex) {
             System.out.println("Problema com o SQL");
             //ex.printStackTrace();
             return (null);
       }
 return lista;
}
}
